//开链法是利用了二维数组存储数据的，也就是说一个hash可以对应多个数据，解决碰撞。
function bulidChains(){
    for(var i=0;i<this.table.length;i++){
        this.table[i]=new Array();
    }
}
//用开链法就要把显示函数改变一下
function showDistro(){
    //var n=0;
    for(var i=0;i<this.table.length;i++){
        if(this.table[i][0]!==undefined){
            console.log(i+":"+this.table[i]);
        }
    }
}
//put方法也得改变,这里面put方法和别的不太一样，他及保存数据，也保存数值，第一个单元用来保存键值，第二个往后保存数据
function put(key,data){
    var pos=this.betterHash(data);
    var index=0;
    if(this.table[pos][index]===undefined){
        this.table[pos][++index]=data;
    }
    else{
        while(this.table[pos][index]!==undefined){
            ++index;
        }
        this.table[pos][index+1]=data;
    }
}

function get(key){
    var index=0;
    var hash=this.betterHash(key);
    if(this.table[pos][index]=key){
        return this.table[pos][index+1];
    }
    else{
        while(this.table[pos][index]!==key){
            index+=2;
        }
        return this.table[pos][index+1];
    }
    return undefined;
}